MLOps レベル 0: 手動プロセス
MLOps レベル 0: 手動プロセス
https://gyazo.com/2ea498ffea4b8b1dd84cb97471bc99a4
特徴
レベル 0 プロセスの特性は次のとおりです。
手動、スクリプト主導、インタラクティブなプロセス: データ分析、データ準備、モデル トレーニング、検証などの各手順は手動で行います。各手順を手動で実行し、手順間を手動で移行する必要があります。このプロセスは通常、実行可能なモデルが生成されるまで、データ サイエンティストがインタラクティブにノートブックに記述して実行する実験コードによって行われます。
ML とオペレーションの分離: このプロセスでは、モデルを作成するデータ サイエンティストと、予測サービスとしてモデルを提供するエンジニアを分離します。トレーニング済みのモデルは、データ サイエンティストからアーティファクトとしてエンジニアリング チームに引き渡され、API インフラストラクチャにデプロイされます。この引き渡しには、トレーニング済みモデルをストレージのロケーションに配置する、コード リポジトリに入れるモデル オブジェクトをチェックする、モデルをモデル レジストリにアップロードする、などがあります。次に、モデルをデプロイするエンジニアは、低レイテンシでのサービス提供のために必要な機能を本番環境で使用できるようにする必要があります。これにより、トレーニング サービング スキューが発生する可能性があります。
頻度の低いリリースのイテレーション: このプロセスでは、データ サイエンス チームが、変更(モデルの実装の変更や新しいデータによるモデルの再トレーニング)が頻繁に発生しない少数のモデルを管理することを前提としています。新しいモデル バージョンは年に数回しかデプロイされません。
CI なし: 実装の変更はほとんど想定されないため、CI は無視されます。通常、コードのテストは、ノートブックまたはスクリプト実行の一部です。テスト手順を実装するスクリプトとノートブックはソース管理されており、トレーニング済みモデル、評価指標、可視化などのアーティファクトが生成されます。
CD なし: モデル バージョンのデプロイは頻繁に行われないため、CD は考慮されません。
デプロイは予測サービスを意味する: このプロセスでは、ML システム全体のデプロイではなく、予測サービスとしてのトレーニング済みモデルのデプロイのみに関わります(たとえば、REST API を使用するマイクロサービス)。
アクティブなパフォーマンス モニタリングは行わない: このプロセスでは、モデルのパフォーマンス低下やその他のモデルの動作変動を検出するために必要なモデル予測とアクションを追跡または記録しません。
エンジニアリング チームは、API 構成、テスト、デプロイ(セキュリティ、リグレッション、負荷テスト、カナリアテストなど)について、独自の複雑な設定を行う場合があります。また、ML モデルの新しいバージョンの本番環境デプロイでは、通常、モデルがすべての予測リクエスト トラフィックを処理する前に、A/B テストやオンライン テストが行われます。
課題
MLOps レベル 0 は、ML をユースケースに適用しようとしている多くの企業において一般的です。モデルの変更やトレーニングがほとんど行われない場合、このマニュアル、データ サイエンティスト主導のプロセスで十分です。事実、モデルは、実際にデプロイされるとしばしば失敗します。モデルは、環境のダイナミクスの変化や環境を記述するデータの変更への適応に失敗します。
これらの課題に対処し、本番環境でモデルの精度を維持するには、次の操作を行う必要があります。
本番環境でモデルの品質を積極的にモニタリングする: モニタリングを使用すると、パフォーマンスの低下とモデルの古さを検出できます。これは、新たなテストのイテレーションと新しいデータに対するモデルの(手動)再トレーニングの手がかりとして機能します。
本番環境モデルを頻繁に再トレーニングする: 変化するパターンと新しいパターンをキャプチャするには、最新のデータでモデルを再トレーニングする必要があります。たとえば、アプリが ML を使用してファッション関連商品をおすすめしている場合は、最新のトレンドや商品に合わせておすすめ商品を表示させる必要があります。
新しい実装を継続的にテストして、モデルを生成する: 技術における最新のアイデアと進歩を取り入れるため、特徴量エンジニアリング、モデル アーキテクチャ、ハイパーパラメータなどの新しい実装を試行する必要があります。たとえば、顔検出においてコンピュータ ビジョンを使用する場合、顔のパターンは固定されますが、より良い新しい技術を使用すると検出精度を向上させることができます。
この手動プロセスの課題に対処するには、CI / CD と CT 向けの MLOps 手法が役立ちます。ML トレーニング パイプラインをデプロイすると、CT を有効にし、CI / CD システムを設定して、ML パイプラインの新しい実装を迅速にテスト、ビルド、デプロイできます。これらの機能については、次のセクションで詳しく説明します。